<HTML
><HEAD
><TITLE
>Device List</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.63
"><LINK
REL="HOME"
TITLE="The Linux System Administrator's Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="Device Files"
HREF="device-list.html"><LINK
REL="PREVIOUS"
TITLE="The mknod command"
HREF="x797.html"><LINK
REL="NEXT"
TITLE="Using Disks and Other Storage Media"
HREF="c955.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Linux System Administrator's Guide: Version 0.7</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="x797.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 5. Device Files</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="c955.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="AEN822"
>5.3. Device List</A
></H1
><P
>This list which follows is by no means exhaustive or as
	detailed as it could be.  Many of these device files will need
	support compiled into your kernel for the hardware.  Read the kernel
	documentation to find details of any particular device.</P
><P
>If you think there are other devices which should be included here but
	aren't then let me know.  I will try to include them in the next revision.</P
><DIV
CLASS="GLOSSLIST"
><DL
><DT
><B
><TT
CLASS="FILENAME"
>/dev/dsp</TT
></B
></DT
><DD
><P
>Digital Signal Processor.  Basically this forms
	    the interface between software which produces sound and your
	    soundcard.  It is a character device on major node 14 and minor
	    3.</P
></DD
><DT
><B
><TT
CLASS="FILENAME"
>/dev/fd0</TT
></B
></DT
><DD
><P
>The first floppy drive.  If you are lucky enough
	    to have several drives then they will be numbered sequentially.
	    It is a character device on major node 2 and minor
	    0.</P
></DD
><DT
><B
><TT
CLASS="FILENAME"
>/dev/fb0</TT
></B
></DT
><DD
><P
>The first framebuffer device. A framebuffer is
	    an abstraction layer between software and graphics hardware.
	    This means that applications do not need to know about what kind
	    of hardware you have but merely how to communicate with the
	    framebuffer driver's API (Application Programming Interface)
	    which is well defined and standardised.  The framebuffer is a
	    character device and is on major node 29 and minor
	    0.</P
></DD
><DT
><B
><TT
CLASS="FILENAME"
>/dev/hda</TT
></B
></DT
><DD
><P
><TT
CLASS="FILENAME"
>/dev/hda</TT
> is the master IDE
	    drive on the primary IDE controller.
	    <TT
CLASS="FILENAME"
>/dev/hdb</TT
> is the slave drive on the primary
	    controller.  <TT
CLASS="FILENAME"
>/dev/hdc</TT
> and
	    <TT
CLASS="FILENAME"
>/dev/hdd</TT
> are the master and slave devices
	    on the secondary controller respectively.  Each disk is divided
	    into partitions. Partitions 1-4 are primary partitions and
	    partitions 5 and above are logical partitions inside extended
	    partitions.  Therefore the device file which references each
	    partition is made up of several parts.  For example
	    <TT
CLASS="FILENAME"
>/dev/hdc9</TT
> references partition 9 (a logical
	    partition inside an extended partition type) on the master IDE
	    drive on the secondary IDE controller.  The major and minor node
	    numbers are somewhat complex.  For the first IDE controller all
	    partitions are block devices on major node 3.  The master drive
	    <TT
CLASS="FILENAME"
>hda</TT
> is at minor 0 and the slave drive
	    <TT
CLASS="FILENAME"
>hdb</TT
> is at minor 64.  For each partition
	    inside the drive add the partition number to the minor node
	    number for the drive.  For example
	    <TT
CLASS="FILENAME"
>/dev/hdb5</TT
> is major 3, minor 69 (64 + 5 =
	    69). Drives on the secondary interface are handled the same way,
	    but with major node 22.</P
></DD
><DT
><B
><TT
CLASS="FILENAME"
>/dev/ht0</TT
></B
></DT
><DD
><P
>The first IDE tape drive.  Subsequent drives are
	    numbered <TT
CLASS="FILENAME"
>ht1</TT
> etc.  They are character
	    devices on major node 37 and start at minor node 0 for
	    <TT
CLASS="FILENAME"
>ht0</TT
> 1 for <TT
CLASS="FILENAME"
>ht1</TT
>
	    etc.</P
></DD
><DT
><B
><TT
CLASS="FILENAME"
>/dev/js0</TT
></B
></DT
><DD
><P
>The first analogue joystick.  Subsequent joysticks
	    are numbered <TT
CLASS="FILENAME"
>js1</TT
>, <TT
CLASS="FILENAME"
>js2</TT
>
	    etc.  Digital joysticks are called <TT
CLASS="FILENAME"
>djs0</TT
>,
	    <TT
CLASS="FILENAME"
>djs1</TT
> and so on.  They are character devices
	    on major node 15.  The analogue joysticks start at minor node 0
	    and go up to 127 (more than enough for even the most fanatic
	    gamer). Digital joysticks start at minor node
	    128.</P
></DD
><DT
><B
><TT
CLASS="FILENAME"
>/dev/lp0</TT
></B
></DT
><DD
><P
>The first parallel printer device.  Subsequent
	    printers are numbered <TT
CLASS="FILENAME"
>lp1</TT
>,
	    <TT
CLASS="FILENAME"
>lp2</TT
> etc.  They are character devices on
	    major mode 6 and minor nodes starting at 0 and numbered
	    sequentially.</P
></DD
><DT
><B
><TT
CLASS="FILENAME"
>/dev/loop0</TT
></B
></DT
><DD
><P
>The first loopback device.  Loopback devices are
	    used for mounting filesystems which are not located on other
	    block devices such as disks.  For example if you wish to mount
	    an iso9660 CD ROM image without burning it to CD then you need
	    to use a loopback device to do so.  This is usually transparent
	    to the user and is handled by the <B
CLASS="COMMAND"
>mount</B
>
	    command.  Refer to the manual pages for <B
CLASS="COMMAND"
>mount</B
>
	    and <B
CLASS="COMMAND"
>losetup</B
>.  The loopback devices are block
	    devices on major node 7 and with minor nodes starting at 0 and
	    numbered sequentially.</P
></DD
><DT
><B
><TT
CLASS="FILENAME"
>/dev/md0</TT
></B
></DT
><DD
><P
>First metadisk group.  Metadisks are related to
	    RAID (Redundant Array of Independent Disks) devices.  Please
	    refer to the various RAID HOWTOs at the LDP for more details.
	    Metadisk devices are block devices on major node 9 with minor
	    nodes starting at 0 and numbered
	    sequentially.</P
></DD
><DT
><B
><TT
CLASS="FILENAME"
>/dev/mixer</TT
></B
></DT
><DD
><P
>This is part of the OSS (Open Sound System)
	    driver. Refer to the OSS documentation at <A
HREF="http://www.opensound.com"
TARGET="_top"
>http://www.opensound.com</A
>
	    for more details.  It is a character device on major node 14,
	    minor node 0.</P
></DD
><DT
><B
><TT
CLASS="FILENAME"
>/dev/null</TT
></B
></DT
><DD
><P
>The bit bucket.  A black hole where you can send
	    data for it never to be seen again.  Anything sent to
	    <TT
CLASS="FILENAME"
>/dev/null</TT
> will disappear.  This can be
	    useful if, for example, you wish to run a command but not have
	    any feedback appear on the terminal.  It is a character device
	    on major node 1 and minor node 3.</P
></DD
><DT
><B
><TT
CLASS="FILENAME"
>/dev/psaux</TT
></B
></DT
><DD
><P
>The PS/2 mouse port.  This is a character device
	    on major node 10, minor node 1.</P
></DD
><DT
><B
><TT
CLASS="FILENAME"
>/dev/pda</TT
></B
></DT
><DD
><P
>Parallel port IDE disks.  These are named
	    similarly to disks on the internal IDE controllers
	    (<TT
CLASS="FILENAME"
>/dev/hd*</TT
>).  They are block devices on major
	    node 45. Minor nodes need slightly more explanation here.  The
	    first device is <TT
CLASS="FILENAME"
>/dev/pda</TT
> and it is on minor
	    node 0.  Partitions on this device are found by adding the
	    partition number to the minor number for the device.  Each
	    device is limited to 15 partitions each rather than 63 (the
	    limit for internal IDE disks).  <TT
CLASS="FILENAME"
>/dev/pdb</TT
>
	    minor nodes start at 16, <TT
CLASS="FILENAME"
>/dev/pdc</TT
> at 32 and
	    <TT
CLASS="FILENAME"
>/dev/pdd</TT
> at 48.  So for example the minor
	    node number for <TT
CLASS="FILENAME"
>/dev/pdc6</TT
> would be 38 (32 +
	    6 = 38).  This scheme limits you to 4 parallel disks of 15
	    partitions each.</P
></DD
><DT
><B
><TT
CLASS="FILENAME"
>/dev/pcd0</TT
></B
></DT
><DD
><P
>Parallel port CD ROM drives.  These are numbered
	    from 0 onwards.  All are block devices on major node 46.
	    <TT
CLASS="FILENAME"
>/dev/pcd0</TT
> is on minor node 0 with
	    subsequent drives being on minor nodes 1, 2, 3
	    etc.</P
></DD
><DT
><B
><TT
CLASS="FILENAME"
>/dev/pt0</TT
></B
></DT
><DD
><P
>Parallel port tape devices.  Tapes do not have
	    partitions so these are just numbered sequentially.  They are
	    character devices on major node 96.  The minor node numbers
	    start from 0 for <TT
CLASS="FILENAME"
>/dev/pt0</TT
>, 1 for
	    <TT
CLASS="FILENAME"
>/dev/pt1</TT
>, and so on.</P
></DD
><DT
><B
><TT
CLASS="FILENAME"
>/dev/parport0</TT
></B
></DT
><DD
><P
>The raw parallel ports.  Most devices which are
	    attached to parallel ports have their own drivers.  This is a
	    device to access the port directly.  It is a character device on
	    major node 99 with minor node 0.  Subsequent devices after the
	    first are numbered sequentially incrementing the minor
	    node.</P
></DD
><DT
><B
><TT
CLASS="FILENAME"
>/dev/random</TT
> or <TT
CLASS="FILENAME"
>/dev/urandom</TT
></B
></DT
><DD
><P
>These are kernel random number generators.
	    <TT
CLASS="FILENAME"
>/dev/random</TT
> is a non-deterministic
	    generator which means that the value of the next number cannot
	    be guessed from the preceding ones.  It uses the entropy of the
	    system hardware to generate numbers.  When it has no more
	    entropy to use then it must wait until it has collected more
	    before it will allow any more numbers to be read from it.
	    <TT
CLASS="FILENAME"
>/dev/urandom</TT
> works similarly.  Initially it
	    also uses the entropy of the system hardware, but when there is
	    no more entropy to use it will continue to return numbers using
	    a pseudo random number generating formula.  This is considered
	    to be less secure for vital purposes such as cryptographic key
	    pair generation.  If security is your overriding concern then
	    use <TT
CLASS="FILENAME"
>/dev/random</TT
>, if speed is more important
	    then <TT
CLASS="FILENAME"
>/dev/urandom</TT
> works fine.  They are
	    character devices on major node 1 with minor nodes 8 for
	    <TT
CLASS="FILENAME"
>/dev/random</TT
> and 9 for
	    <TT
CLASS="FILENAME"
>/dev/urandom</TT
>.</P
></DD
><DT
><B
><TT
CLASS="FILENAME"
>/dev/zero</TT
></B
></DT
><DD
><P
>This is a simple way of getting many 0s.  Every
	    time you read from this device it will return 0.  This can be
	    useful sometimes, for example when you want a file of fixed
	    length but don't really care what it contains.  It is a
	    character device on major node 1 and minor node
	    5.</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="x797.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="c955.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>The <B
CLASS="COMMAND"
>mknod</B
> command</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="device-list.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Using Disks and Other Storage Media</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>